package com.gzu.ltms.entity;

import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.time.LocalDateTime;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;

/**
 * 订单主表 实体类。
 *
 * @author mm
 * @since 2025-05-06
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(value = "order_detail")
public class OrderDetail implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 订单号（业务生成）
     */
    @Id
    private Long orderId;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 寄件人姓名
     */
    private String senderName;

    /**
     * 寄件人电话
     */
    private String senderPhone;

    /**
     * 寄件地址
     */
    private String senderAddress;

    /**
     * 收件人姓名
     */
    private String receiverName;

    /**
     * 收件人电话
     */
    private String receiverPhone;

    /**
     * 收货人地址
     */
    private String receiverAddress;

    /**
     * 重量（kg）
     */
    private Integer weight;

    /**
     * 配送距离（米）
     */
    private Long distance;

    /**
     * 运费
     */
    private Long fee;

    /**
     * 包裹状态
     */
    private String status;

    /**
     * 配送员ID
     */
    private Long courierId;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

}
